package com.baishancloud.log

import org.apache.flink.api.java.utils.ParameterTool

/**
 *
 * @author ziqiang.wang
 * @date 2022/1/10 20:08
 */
package object traffic extends Serializable {

  /**
   * 输出阈值，处理多少条数据之后，输出所有的中间结果，默认值：1w
   */
  val outThread: String = "outThread"
  /**
   * 窗口大小，默认5分钟，单位：分钟
   */
  val windowSize:String = "windowSize"
  /**
   * 说明：由于头条日志的域名切量，所以要在金华地区起一个任务，然后在石家庄地区起一个任务。<br>
   * 金华地区消费所有数据，但是要指定被切换的域名的消费最大时间，以保证消费数据的准确性。<br>
   * 石家庄地区消费指定域名数据，但是要指定被切换域名的消费最小时间，以保证消费数据的准确性。<br>
   * 需要根据消费终止或开始时间进行过滤的域名列表，中间使用英文逗号隔开。
   */
  val filterDomains: String = "filterDomains"
  /**
   * 过滤的终止或开始时间，如果是金华任务，则为终止时间，如果为石家庄任务，则为开始时间。
   */
  val filterSecond: String = "filterSecond"

  /**
   * 检查是否缺少必要参数。
   */
  def paramCheck(parameterTool: ParameterTool): Boolean = {
    if (parameterTool.has(filterDomains) && parameterTool.has(filterSecond)) {
      true
    } else {
      println(s"缺少必要参数：${filterDomains} 或 ${filterSecond}")
      false
    }
  }

}
